package com.d3works.apps.account.service.move;

import com.d3works.apps.account.db.Move;
import com.d3works.exception.D3worksException;
import java.time.LocalDate;
import java.util.List;
import java.util.Map;

public interface MoveReverseService {

  Move generateReverse(
      Move move,
      boolean isAutomaticReconcile,
      boolean isAutomaticAccounting,
      boolean isUnreconcileOriginalMove,
      LocalDate dateOfReversion)
      throws D3worksException;

  Move generateReverse(Move move, Map<String, Object> assistantMap) throws D3worksException;

  List<Move> massReverse(List<Move> moveList, Map<String, Object> assistantMap)
      throws D3worksException;
}
